Non-volatile memory and accelerated test method for address decoder by added modified dummy memory cells

ABSTRACT

This invention relates to the structure and design of a non-volatile memory, in particular to such memories embedded or integrated into integrated circuits (ICs). To solve the problem of excessive test times for such memories, especially the testing of the associated decoders, a modification of a predetermined, memory-size-dependant number of nonvolatile memory cells turns them into ROM cells with a fixed content pattern. Since these additional ROM cells are just modified non-volatile cells, they differ only slightly from the latter. Thus, they do not require much effort during manufacturing and, even more important, use only small additional space on the memory chip or the integrated circuit, but provide significant advantage for the testing. When using pairs of essentially symmetrical non-volatile memory cells, each pair having a common bit line, the removal or interruption of this bitline contact may serve to impress a fixed value, e.g. a ‘0’, into this pair and vice versa. During test, a simple and therefore only minimal time requiring pattern, preferably a checkerboard pattern, is written into and read from the non-volatile memory, allowing a quick determination of the decoders&#39; correct function. This allows a complete test of the memory&#39;s decoders with only minimal time.

[0001] The present invention relates to the structure and design of a non-volatile memory with its integrated decoder. Such memories are often embedded with associated microprocessor on ICs to be used in mobile phones, personal digital assistants, in GPS applications for auto-mobile or other navigation purposes.

[0002] Integrating a decoder with its non-volatile memory leads to certain problems that have to be solved before such integration exhibits the expected advantages. One of the issues is that the test time, i.e. the total time to conduct the tests necessary for establishing sufficient and reliable working of the memory/decoder combination is rather long within the mass production process. Because of this “testing bottleneck” during manufacturing, it is highly desirable to reduce the total test time for such a memory/decoder combination.

[0003] Examples for such memories are described e.g. in U.S. Pat. No. 5,214,604 to Kato or U.S. Pat. No. 5,357,471 to Alapat. The latter, i.e. the Alapat U.S. patent, describes an architecture for a memory in which an extra row and extra column of memory cells are added to the regular memory array. The extra column is configured so that, during a first test cycle, a sense device connected to the column line of the extra column is will detect whether exactly the row line with the correct address or parity is selected when a particular row address is entered. Similarly, the extra row of cells is configured so that, during a second test cycle, a sense device connected to the column lines of the regular array will determine whether exactly the column line with the correct address or parity is selected when a particular column address is entered. The row decoder and the row address lines are tested separately from the column decoder and column address lines.

[0004] Though the Alapat arrangement shows an interesting solution, it still has shortcomings when applied to a design according to the present invention, as will be explained further down.

[0005] Further, low supply voltages—which are preferable for other reasons—make Fowler-Nordheim tunnelling necessary as the programming mechanism. As a result, the programming time for a single memory cell is comparatively long, i.e. in the range of ms. The large number of program steps, which reflects the number of memory cells, results in significant total times to be spent for the testing of a whole memory. Overall, the testing of the decoders is a very time consuming stage within the non-volatile memory test process. It is thus a main object of this invention to reduce the necessary testing time for non-volatile memories, in particular the testing of the decoders of such a non-volatile memory.

[0006] Typically a diagonal within the non-volatile memory's matrix—see FIG. 3—is programmed for this testing purpose, as known in the art. However, even with such a testing approach, the time necessary for testing is unsatisfactory. This shall be illustrated by the following example.

[0007] Assumed is a memory of 16 Mb size, resulting in 4096 memory rows. In order to program a diagonal, every row has to be programmed separately. If programming of a single cell takes just 5 ms, programming a diagonal would consume 5 ms*4096=20s of total test time. Considering the high cost and the therefore desired and economically necessary throughput of modem testers, a test time of more than 20 seconds for just programming this diagonal with the Fowler-Nordheim mechanism is absolutely unacceptable.

[0008] Here, the present invention provides a solution. In short, the invention solves the problem by providing within the non-volatile memory specifically designed additional cells, whose design and function significantly shortens the required test time for such a memory, resulting in a greatly improved and optimized use of the tester.

[0009] In the following, starting from a prior art approach, the present invention and the way in which it solves the above-identified problem shall be described by way of an embodiment, together with the drawings which show in

[0010]FIG. 1 the basic layout of a two-transistor non-volatile memory cell;

[0011]FIG. 2 the organization of a usual memory matrix;

[0012]FIG. 3 the “diagonal test” approach;

[0013]FIGS. 4a, 4 b the transformation of a non-volatile cell into a ROM cell according to the invention; and

[0014]FIG. 5 the test of an X decoder with ROM code and a checkerboard pattern.

[0015] First, a conventional approach for X and Y decoder testing with a so-called “diagonal” shall be considered.

[0016]FIG. 1 depicts how a single non-volatile memory cell is structured and organized, showing a pair of memory cells of such a memory. Each cell consists of a select transistor controlled by a select gate SG on the source side and a storage transistor controlled by a control gate CG. Because of the pairwise arrangement, there are two select gates SG1 and SG2 and two control gates CG1 and CG2 shown in FIG. 1. Information is stored at the floating gate, shown as additional horizontal line, of each storage transistor. The two cells of a pair of cells share the same bitline BL.

[0017] When reading the stored information, the corresponding select transistor is “opened” via select gate SG1 or SG2, resp., and thus allows a current to flow from the bitline BL to the current source, “Source” in FIG. 1. When a memory cell is “programmed”, current flow will be inhibited by the corresponding floating gate.

[0018]FIG. 2 depicts the organization of a usual memory matrix. Only a few of the cells are shown for clarity. The memory matrix is framed by two X decoders, the top one for the control gates CG of the cells, the bottom one for the select gates SG of the cells. At the left of the matrix is a single Y decoder for the bit lines BL, as shown in FIG. 1 above. A single cell is accessed by the corresponding control gate CG, the corresponding select gate SG and the corresponding bitline BL.

[0019]FIG. 3 shows the “diagonal test” approach as used already in prior art solutions. When a diagonal as displayed is programmed, i.e. a data pattern entered and read out, and the entire memory is read afterwards, the proper functionality of both, X and Y decoder is completely tested. The disadvantage of this prior art method is that, for the above-given example of a 16 Mb non-volatile memory, 4096 memory words have to be programmed, resulting in a total time of over 20 s testing time, as explained above. As also mentioned above, this is unacceptable in terms of test time.

[0020] From Kato U.S. Pat. No. 5,214,604, it is known to couple so-called dummy cells randomly to word lines in a programmable ROM for carrying out a test of the address decoders. However, because of its randomness, this test is just a partial test of any X decoder. Thus, Kato does not solve the issue of a complete decoder test in a reasonable time. Also, the dummy cells have to be programmed, which increases the test time even more.

[0021] From Alapat U.S. Pat. No. 5,357,471 it is known to add an extra row and an extra column of memory cells to the regular matrix array and using these extra row and column for test purposes. Alapat's test, however, is incomplete and thus does not guarantee a completely tested functionality of a memory's decoders.

[0022] In contrast to the prior art above, the new approach according to the present invention will be described in the following, together with an embodiment.

[0023] Very generally, the invention is based on the idea of adding a small ROM part to the nonvolatile memory matrix at preselected positions, preferably on one side of the board, and subsequently testing the appropriate decoder, here the X decoder, by using this newly added, built-in ROM. The novel inventive idea is to transform regular non-volatile memory cells into ROM cells in a simple and straightforward way, preferably by simply removing (or keeping) the bitline contact, thus turning these cells into ROM cells. Further, the number of thus modified cells is limited. This makes the ROM very area efficient as the regularity of the memory pattern is not disturbed and thus manufacturing of the IC kept simple. In the illustrated example, the additional ROM can be implemented with only 0.27% additional area consumption, a number which cannot be reached with dedicated ROM instances. This is one key point of the invention.

[0024] The other key point of the invention is the testing itself which in essence consists in writing a predetermined simple pattern, e.g. a checkerboard pattern, into the non-volatile memory and, preferably sequentially, reading out the newly added ROM cells and in particular just the first bit of the non-volatile memory cells.

[0025] It will be shown that this new approach is both easy to manufacture, i.e. adds only minimal cost, and provides a perfect means for fast and complete functional testing of the decoders. The test according to the invention is complete also in the sense that it does not only test that a single line is selected—as the prior art does—but it also checks whether the selected one is the correct line.

[0026] The pair of non-volatile memory cells of FIG. 1 is again shown in FIGS. 4a and 4 b which depict the transformation of a non-volatile cell into a ROM cell according to the invention. Whereas the bitline is connected in FIG. 4a, which figure is identical to FIG. 1, it is deconnected in FIG. 4b. This opening of the bitline is an extremely simple measure whose implementation is straightforward without requiring any manufacturing process modifications of the cell structure or other changes. But it has the desired effect of modifying the cell pair concerned.

[0027] By omitting the bitline contact, the pair of two memory cells connected to this bitline are transformed to a permanent logic value of ‘0’. If the bitline in not removed, the two cells are a logic ‘1’. Thus, the non-volatile memory matrix, or part of it, may be transformed into a (hard-coded) ROM. Of course, the bits of two neighbouring rows have always the same hard-coded value.

[0028] The number of rows and columns of the memory matrix used for ROM coding depends on the total size of the memory matrix. This will be shown and explained in the example further down.

[0029] For the person skilled in the art, it is apparent that this method requires the intrinsic (virgin) threshold voltage of a non-volatile cell being 0V<V_(tvirgin)<V_(dd). It must be assured that all non-volatile memory cells used for ROM coding fulfil 0V<V_(t)<V_(dd) when performing the proposed X decoder test. Only then is it possible to switch the memory transistor on/off with V_(cg)=0V/V_(dd), V_(dd) being the supply voltage of the chip, e.g. 1.8 V. It is assumed that the non-volatile cells are at an intrinsic threshold level after “fab-out” manufacturing. If not, UV exposure may be applied to set all cells to their intrinsic threshold level.

[0030] After implementing the above cell modification and thus establishing the ROM feature according to the invention, the latter is applied to replace the usual diagonal test known from the prior art.

[0031] This is depicted in FIG. 5. A part of the memory matrix is ROM coded according to the description above. Since the memory cells are arranged pair-wise, i.e. grouped back to back, two adjacent cells have the same ROM code value, i.e. ‘0’or ‘1’. Assuming 4096 rows in the memory, unique numbers must be distributed to 2048 pairs of rows. For coding 2048 different row pairs, 11 additional bits are needed. As a result, 11 additional columns must be added to the original non-volatile memory matrix, resulting in an increase of only 0.27% in area for a 16 Mb memory with 4096 rows and columns.

[0032] Expressed more generally, assuming the non-volatile memory comprises a first number m each of rows and columns, resulting in a number of m₂ non-volatile cells, then the condition m=2_(n) should be satisfied, i.e. number of additional modified cells should be n=ld m.

[0033] With this added ROM it is possible to identify just pairs of rows, not single rows yet. But it is only a short step to allow the identification of any single row. With two programming pulses, a checkerboard pattern can be programmed into the memory matrix as depicted in FIG. 5. Now, every single row can be identified by means of the hardcoded row number and the checkerboard pattern. The following description of the testing of the two X decoders shown in FIG. 2 explains that.

[0034] The two X decoders in FIG. 2 are tested in the following way: 1a. The X decoder for the select gates SG, i.e. the bottom X decoder, is tested by reading the entire memory. Hereby, all control gates CG are set at V_(dd) by the X decoder for the control gates, V_(dd) being, as explained above, the chip's supply voltage. 1b. The top X decoder to be tested, i.e. the X decoder for the select gates SG, now applies V_(dd) one by one to the select gates SG, i.e. the select gates SG are set to V_(dd) separately. Reading of the ROM and the first bit of the checkerboard pattern in the non-volatile memory occurs through the bitlines BL via the Y decoder.

[0035] This completes the testing of the bottom X decoder, i.e. the X decoder for the select gates SG. For testing the top X decoder, the sequence is reversed: 2a. The X decoder for the control gates CG, i.e. the top X decoder, is also tested by reading the entire memory. Hereby, all select gates SG are set to V_(dd) by the bottom X decoder. 2b. Now the top X decoder for the control gates SG applies V_(dd) one by one to the control gates CG, i.e. the control gates SG are set to V_(dd) separately. Reading again occurs through the bitlines BL via the Y decoder.

[0036] This completes the testing of the top X decoder, i.e. the X decoder for the control gates CG and thus the testing of both X decoders. If these two read operations are successfully completed, i.e. no error indicated, both X decoders are ok.

[0037] If the readout ROM code or the first bit of the checkerboard in the non-volatile memory do not show the values expected according to the selection, an error is indicated. As example, if row 3 in FIG. 5 is selected the readout result must be “½”. For row 4 it must be “{fraction (0/2)}”, for row 5 “⅓”, and so on. If anything else is read out, an error must be present. As said before, there is a clear and one-to-one relation between the rows and thus the associated decoder and the readout.

[0038] The proposed method for testing memory decoders can be particularly beneficially applied for all large non-volatile memories having a long programming time, e.g. non-volatile memories programmed by tunnelling.

[0039] Though the invention has been shown in a single embodiment only, a person skilled in the art can easily introduce modifications and variations according to the abovedescribed principles without departing from the gist of the invention and the scope of the appended claims. 

1. A non-volatile memory with one or more associated decoders for addressing the memory cells, in particular a non-volatile memory embedded in an integrated circuit, characterized in that said memory comprises at least one row or column of modified non-volatile memory cells.
 2. The non-volatile memory according to claim 1, wherein the modified memory cells are additional cells and the modification consists in turning R/W cells into ROM cells.
 3. The non-volatile memory according to claim 1, wherein the cells of the non-volatile memory are arranged pair-wise with a common bitline and the modification includes removing or interrupting said bitline at selected ones of the modified cells.
 4. The non-volatile memory according to claim 3, wherein the removal or interruption of a bitline contact results in a ROM cell having stored a first fixed value, preferably ‘0’, whereas the ROM cells with a remaining bitline are defined as having stored a second fixed value, preferably a ‘1’.
 5. The non-volatile memory according to any preceding claim, wherein the non-volatile memory comprises a first number m of rows, and a second number n=ld m, m=2_(n), of additional modified cells.
 6. The non-volatile memory according to any preceding claim, further including a pair of decoders for controlling associated gates at each of the pair-wise arranged cells of the non-volatile memory, including the modified cells.
 7. The non-volatile memory according to claim 6, each cell comprising two transistors in series, a select transistor with a select gate and a storage transistor with a floating gate and a control gate, the select transistors of each pair being connected to a source, the storage transistors of each pair being connected to a common bit line, the select gates being connected to a first decoder and the control gates being connected to a second decoder, wherein each additional ROM cells exhibits the same structure, but every second of said additional ROM cells has said common bit line open.
 8. A test method for a non-volatile memory with pair-wise arranged cells having a common bitline and at least one decoder for addressing said memory's cells, comprising the following steps providing at least one row or column of modified memory cells, preferably modified by removing the bitline contact(s), and hard-coding said modified memory cells, programming said memory by writing a predetermined pattern, in particular a checkerboard pattern of multiple ‘0s’ and ‘1s’, into the unmodified memory cells to allow identification of each single row or column, respectively, and testing said decoder by applying a predetermined selection pattern to specific ones of said rows or colums and reading said modified, hard-coded memory cells and at least selected ones of said unmodified memory cells.
 9. The test method according to claim 8, said memory further having a first and a second decoder and associated gates at the pair-wise arranged memory cells, comprising the following steps testing said first decoder by establishing a predetermined setting at all said gates associated with said second decoder and establishing a predetermined setting one by one at said gates associated with said first decoder and reading the modified memory cells and at least selected ones of the unmodified memory cells, and subsequently testing said second decoder by establishing a predetermined setting at all said gates associated with said first decoder and establishing a predetermined setting one by one at said gates associated with said second decoder and reading the modified memory cells and at least selected ones of the unmodified memory cells.
 10. A method for testing the non-volatile memory of claim 7 with a pair of decoders and pair-wise arranged memory and additional ROM cells, comprising the following stepshard-coding said additional ROM cells, preferably by alternately representing a ‘0’ or a ‘1’ by removing a selected bitline contact, programming said memory cells by writing a predetermined pattern, in particular a checkerboard pattern, of multiple ‘0s’ and ‘1s’ into said memory to allow identification of each single row or column, respectively, and testing the first of said decoders by setting the gates of said memory cells associated with the second of said decoders to a predetermined value and setting one by one the gates associated with said first decoder to said predetermined value and thus reading at least part of the entire memory, and subsequently testing the second of said decoders by setting the said gates of said memory cells associated with the first of said decoders to said predetermined value and setting one by one the said gates associated with said second decoder to said predetermined value and reading at least part of the entire memory.
 11. A test method for an integrated circuit with at least one microprocessor and at least one non-volatile memory with pair-wise arranged cells having a common bitline, at least one associated decoder for addressing said memory's cells, and at least one row or column of memory cells modified to ROM cells, comprising the following steps said ROM cells are modified to alternately representing a ‘0’ or a ‘1’, preferably by removing a bitline contact, a checkerboard pattern of multiple ‘0’ and ‘1’ is programmed or written into said memory to allow identification of each single row, in a first read cycle, a first one of the decoders is tested by selecting a first half of the pair-wise arranged memory cells and reading the associated ROM cells and at least part of the memory, preferably the first bit in said memory, and in a second read cycle, a second one of the decoders is tested by selecting a second half of the pair-wise arranged memory cells and reading the associated ROM cells and at least part of the memory, preferably the first bit in said memory, thus completing the test. 